The Bluetooth protocol, which is a kind of short distance communication protocol, was originally developed to convert a wired connection to a wireless connection for signal and data transmissions between specific devices.
FIG. 1 depicts a message flow of a general Bluetooth service discovery procedure.
A server device 110 in FIG. 1 is a Bluetooth device for providing a service available to another Bluetooth device, and a client device 120 uses the service.
Using a Service Discovery Protocol (SDP), the Bluetooth devices 110 and 120 are able to acquire a service list of the other Bluetooth device and acquire services provided through a service search procedure using the SDP.
More specifically, the client device 110 sends a service support list request message to the server device 120 in step A) and requests a profile of its intended service to the server device 120. The server device 120 responds to the client device 110 with a service support list response message including the request result in step B). When any one of the two devices 110 and 120 communicating with the other does not have its profile (the service protocol), it fails to perform the corresponding service.
FIG. 2 depicts a general Bluetooth protocol stack structure.
In a Bluetooth device, the Bluetooth protocol stack structure of FIG. 2 receives and processes a signal or data from a lower physical layer, and exchanges the processed signal or data with an application program. The application program receives a certain direction from a user through a user interface or output a certain result.
The Bluetooth protocol stack holds a profile list which defines functions provided in the Bluetooth protocol. If necessary, the profile list is provided to the other device.
If no profile is present for a specific service, a Bluetooth device cannot receive or provide the corresponding service. If there is no definite standard for detailed error occasions or only necessary functions of the corresponding profile are realized, even a device that provides the same service profile is highly likely to suffer error because optional or additional functions of the corresponding profile are not realized.